package com.fangyi.yunmusic.pojo.vo;

import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
import java.util.List;

public class SongVO {

    SongAlbum songAlbum;

//    SongArtist songArtist;

    List<SongArtist> songArtists;

    public static class SongAlbum {
        /**
         * 专辑的ID
         */
        private String Id;

        /**
         * 专辑名字
         */
        private String name;

        /**
         * 专辑封面ID
         */
        private String picUrlId;

        /**
         * 歌曲所属专辑的封面 图片路径
         */
        private String picUrl;

        public String getId() {
            return Id;
        }

        public void setId(String id) {
            Id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getPicUrlId() {
            return picUrlId;
        }

        public void setPicUrlId(String picUrlId) {
            this.picUrlId = picUrlId;
        }

        public String getPicUrl() {
            return picUrl;
        }

        public void setPicUrl(String picUrl) {
            this.picUrl = picUrl;
        }
    }

    public static class SongArtist {
        /**
         * 歌手ID
         */
        private String id;

        /**
         * 歌手姓名
         */
        private String name;

        /**
         * 歌手封面图片文件路径
         */
        private String picUrl;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getPicUrl() {
            return picUrl;
        }

        public void setPicUrl(String picUrl) {
            this.picUrl = picUrl;
        }
    }

    /**
     * 歌曲文件的路径
     */
    private String songUrl;

    /**
     * 歌曲ID
     */
    @Id
    private String id;

    /**
     * 歌曲名字
     */
    private String name;

    /**
     * 歌曲文件的ID，用于拼接成文件路径
     */
    @Column(name = "song_url_id")
    private String songUrlId;

    /**
     * 创建歌曲的时间
     */
    @Column(name = "publish_time")
    private Date publishTime;

    /**
     * 歌曲时长
     */
    private Integer duration;

    /**
     * 歌词
     */
    private String lyric;

    /**
     * 获取歌曲ID
     *
     * @return id - 歌曲ID
     */
    public String getId() {
        return id;
    }

    /**
     * 设置歌曲ID
     *
     * @param id 歌曲ID
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取歌曲名字
     *
     * @return name - 歌曲名字
     */
    public String getName() {
        return name;
    }

    /**
     * 设置歌曲名字
     *
     * @param name 歌曲名字
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取歌曲文件的ID，用于拼接成文件路径
     *
     * @return song_url_id - 歌曲文件的ID，用于拼接成文件路径
     */
    public String getSongUrlId() {
        return songUrlId;
    }

    /**
     * 设置歌曲文件的ID，用于拼接成文件路径
     *
     * @param songUrlId 歌曲文件的ID，用于拼接成文件路径
     */
    public void setSongUrlId(String songUrlId) {
        this.songUrlId = songUrlId;
    }

    /**
     * 获取创建歌曲的时间
     *
     * @return publish_time - 创建歌曲的时间
     */
    public Date getPublishTime() {
        return publishTime;
    }

    /**
     * 设置创建歌曲的时间
     *
     * @param publishTime 创建歌曲的时间
     */
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    /**
     * 获取歌曲时长
     *
     * @return duration - 歌曲时长
     */
    public Integer getDuration() {
        return duration;
    }

    /**
     * 设置歌曲时长
     *
     * @param duration 歌曲时长
     */
    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    /**
     * 获取歌词
     *
     * @return lyric - 歌词
     */
    public String getLyric() {
        return lyric;
    }

    /**
     * 设置歌词
     *
     * @param lyric 歌词
     */
    public void setLyric(String lyric) {
        this.lyric = lyric;
    }

    public SongAlbum getSongAlbum() {
        return songAlbum;
    }

    public void setSongAlbum(SongAlbum songAlbum) {
        this.songAlbum = songAlbum;
    }

    public List<SongArtist> getSongArtists() {
        return songArtists;
    }

    public void setSongArtists(List<SongArtist> songArtists) {
        this.songArtists = songArtists;
    }

    public String getSongUrl() {
        return songUrl;
    }

    public void setSongUrl(String songUrl) {
        this.songUrl = songUrl;
    }
}